/*    */ package com.zimbra.cs.datasource.imap;
/*    */ 
/*    */ import java.util.Collection;
/*    */ import java.util.HashMap;
/*    */ import java.util.Iterator;
/*    */ import java.util.Map;
/*    */ import java.util.Set;
/*    */ 
/*    */ 
/*    */ 
/*    */ 
/*    */ 
/*    */ 
/*    */ 
/*    */ 
/*    */ 
/*    */ 
/*    */ 
/*    */ 
/*    */ 
/*    */ 
/*    */ 
/*    */ 
/*    */ public class ImapMessageCollection
/*    */   implements Iterable<ImapMessage>
/*    */ {
/* 27 */   private Map<Integer, ImapMessage> mByItemId = new HashMap();
/* 28 */   private Map<Long, ImapMessage> mByUid = new HashMap();
/*    */   
/*    */ 
/*    */ 
/* 32 */   private Map<Integer, ImapMessage> mNoUid = new HashMap();
/*    */   
/*    */   public void add(ImapMessage msg) {
/* 35 */     this.mByItemId.put(Integer.valueOf(msg.getItemId()), msg);
/* 36 */     long uid = msg.getUid();
/* 37 */     if (uid > 0L) {
/* 38 */       this.mByUid.put(Long.valueOf(msg.getUid()), msg);
/*    */     } else {
/* 40 */       this.mNoUid.put(Integer.valueOf(msg.getItemId()), msg);
/*    */     }
/*    */   }
/*    */   
/*    */   public ImapMessage getByItemId(int itemId) {
/* 45 */     return (ImapMessage)this.mByItemId.get(Integer.valueOf(itemId));
/*    */   }
/*    */   
/*    */   public ImapMessage getByUid(long uid) {
/* 49 */     return (ImapMessage)this.mByUid.get(Long.valueOf(uid));
/*    */   }
/*    */   
/*    */   public Collection<ImapMessage> getNoUid() {
/* 53 */     return this.mNoUid.values();
/*    */   }
/*    */   
/*    */   public boolean containsItemId(int itemId) {
/* 57 */     return this.mByItemId.containsKey(Integer.valueOf(itemId));
/*    */   }
/*    */   
/*    */   public boolean containsUid(long uid) {
/* 61 */     return this.mByUid.containsKey(Long.valueOf(uid));
/*    */   }
/*    */   
/*    */   public int size() {
/* 65 */     return this.mByItemId.size();
/*    */   }
/*    */   
/*    */   public Iterator<ImapMessage> iterator() {
/* 69 */     return this.mByItemId.values().iterator();
/*    */   }
/*    */   
/*    */   public Set<Long> getUids() {
/* 73 */     return this.mByUid.keySet();
/*    */   }
/*    */   
/*    */   public Set<Integer> getItemIds() {
/* 77 */     return this.mByItemId.keySet();
/*    */   }
/*    */   
/*    */   public long getLastUid() {
/* 81 */     long maxUid = 0L;
/* 82 */     for (Iterator i$ = this.mByUid.keySet().iterator(); i$.hasNext();) { long uid = ((Long)i$.next()).longValue();
/* 83 */       if (uid > maxUid) maxUid = uid;
/*    */     }
/* 85 */     return maxUid;
/*    */   }
/*    */ }


/* Location:              /home/mint/zimbrastore.jar!/com/zimbra/cs/datasource/imap/ImapMessageCollection.class
 * Java compiler version: 7 (51.0)
 * JD-Core Version:       0.7.1
 */